# config.py
import os
from dotenv import load_dotenv
from datetime import timezone, timedelta

# 加载环境变量
load_dotenv()

class Config:
    # 基础配置
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'your-secret-key'
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or 'sqlite:///photovote.db'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    
    # 上传配置 - 使用绝对路径
    basedir = os.path.abspath(os.path.dirname(__file__))
    UPLOAD_FOLDER = os.path.join(basedir, 'static', 'uploads')
    ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif'}
    MAX_CONTENT_LENGTH = 16 * 1024 * 1024  # 16MB
    
    # 分页配置
    PHOTOS_PER_PAGE = 12
    
    # 管理员账户
    ADMIN_EMAIL = os.environ.get('ADMIN_EMAIL') or 'admin@example.com'
    ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD') or 'admin123'

    # 时区设置
    TIMEZONE = timezone(timedelta(hours=8))  # 北京时间 UTC+8
    
    # Redis配置 (如果启用)
    REDIS_URL = os.environ.get('REDIS_URL') or 'redis://localhost:6379/0'